Print control with interfaces provided in correspondence with printing methods

ABSTRACT

Display control is made so as to obtain an optimum setting picture plane in accordance with a change in designation of an outputting method of a distribution printing, a multiple-address printing, an automatic substitute printing, or the like without allowing the user to be conscious thereof.

RELATED APPLICATIONS

This application is a divisional of application Ser. No. 13/405,743,filed Feb. 27, 2012, which is a continuation of application Ser. No.12/473,809, filed May 28, 2009, now U.S. Pat. No. 8,169,629, which is adivisional of application Ser. No. 10/241,682, filed Sep. 12, 2002, nowU.S. Pat. No. 7,894,083. This application claims benefit of thoseapplications under 35 U.S.C. §120, claims benefit under 35 U.S.C. §119of Japanese patent applications nos. 2001-279598 and 2001-279599, bothfiled Sep. 14, 2001, and incorporates by reference the entire disclosureof each of the five mentioned prior applications.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a print control method and a print controlapparatus for executing a printing process in correspondence to a drawcommand from an application and also relates to a print control programfor performing a print data process which can be executed by a computerand a memory medium in which a computer-readable program has beenstored.

2. Description of Related Art

In recent years, it has become more and more common to use networkapparatuses, that is, to use a network to which a number of personalcomputers (hereinafter, abbreviated to “PCs”) and printers areconnected. In such a network environment, in order to shorten printingtime for a document having a given number of pages or that is to beprinted as a given number of copies, a system (distribution printingsystem) such that a print job is once spooled, distributed, andoutputted page by page or copy by copy to a plurality of printers hasbeen known.

Further, in such a network environment, in order to reduce costs andtime in printing a document in which color pages and monochromatic pagesexist mixedly, a system (color/monochromatic distribution printingsystem) such that the color pages are distributed and outputted to acolor printer and the monochromatic pages are distributed and outputtedto a monochromatic printer has been known.

Moreover, in such a network environment, a system (multiple addressprint system) such that one document is simultaneously transmitted to aplurality of printers and printed by one print instruction has beenknown.

In addition, in such a network environment, there ahs also been known asystem (error substitute print system) such that if an error occurs inthe printer to which the document has been transmitted for printing, thejob is automatically switched to another printer and printed.

In a general printer driver, fundamental set information (for example,the number of print copies and permission/inhibition information of aduplex print) which is necessary for an ordinary printing process hasbeen stored in an area called a common area (Public DEVMODE) of driverset information. It has been known that in the information set in suchan area, set items can be read out and written even using a printer froma different vendor.

Certain functions which are peculiar to the printer, for example, astapling function, a punching function, and a book-binding printingfunction, have been stored in an expansion area (expanded DEVMODE) ofthe driver set information. In the set information in such an area, theformat differs depending on the printer vendor.

A virtual printer driver for issuing print instructions in a lump to aplurality of printer devices as described above has also been known.

However, in a user interface of the conventional virtual printer driver,the various available outputting methods and the printer driver servingas a target for a selected outputting method (that is, the driver calledupon to execute the job using the selected method) are not made tocorrespond to each other. Each time the user changes outputting method,it is necessary to reconstruct the target printer driver (correspondingto a corresponding printer device), or each time the user reconstructsthe target printer driver, it is necessary to change and reset the printsetting.

Since it is troublesome to reset the print setting each time theoutputting method is changed, there is also a method of setting items inthe print setting to be fixed in their contents. However, according tosuch a method, the contents of print set items to be set in a lump arelimited to a small range of possible settings (for example, paper sizeis set to only A4 or the like) which is suitable for any printer.Consequently, this approach is not one that permits the full range offunctions/abilities of each printer to be sufficiently utilized.

In the distribution printing, color/monochromatic distribution printing,multiple address print, substitute print, and the like methods describedabove, it is presumed that the combination of optimum target printers isnaturally different, depending on the outputting method. It is verytroublesome and difficult for the user to memorize all the variouscombinations of printers for the different outputting methods.

SUMMARY OF THE INVENTION

The invention is made in consideration of the above problems, and it isan object of the invention to provide a mechanism such that the user caneasily perform print setting without having to be aware of matchingperformance of the print setting which is changed in accordance with achange in outputting method. To accomplish the above object, accordingto the invention, there is provided a mechanism to realize a printcontrol method by a virtual printer which can control a plurality ofmember printers, comprising: a switching step of switching an outputtingmethod in accordance with an instructed one of a plurality of outputtingmethods which can be controlled by the virtual printer; and a controlstep of controlling so as to switch a display of a user interface forsetting the outputting method in accordance with a kind of outputtingmethod switched by the switching step. For example, when a printerdriver is constructed every outputting method such as distributionprinting, multiple address print, automatic substitute print, or thelike, a reconstruction of a combination of the printer drivers can beeasily realized.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram for explaining a construction of aninformation processing system to which the invention can be applied;

FIG. 2 is a block diagram for explaining a construction of aninformation processing apparatus of the invention;

FIG. 3 shows an example of a memory map in an RAM 202 shown in FIG. 2;

FIG. 4 shows an example of a memory map in an FD 204 shown in FIG. 2;

FIG. 5 is a diagram showing a relation of the FD 204 which is insertedinto an FD drive 203 shown in FIG. 2;

FIG. 6 is a block diagram for explaining a construction of print controlmodules of the information processing apparatus of the invention;

FIG. 7 shows an example of a data structure of job information which ismanaged by a print server;

FIG. 8 is a diagram showing a structure of a general print file;

FIG. 9 is a control flowchart showing the operation of a group printerdriver;

FIG. 10 is a table showing a correspondence between constructions ofmember printer drivers and items which can be set;

FIG. 11 is a table showing a correspondence among common set items,expansion set items, and set items;

FIG. 12 is a table for explaining a mechanism of a conflict process;

FIG. 13 is a control flowchart showing the operation of the groupprinter driver;

FIG. 14 is a control flowchart showing the operation of the groupprinter driver;

FIG. 15 is a control flowchart showing the operation of the groupprinter driver;

FIGS. 16A and 16B are diagrams each showing an example of a displaystate of a group printer driver UI subjected to display control;

FIG. 17 is a control flowchart showing the operation of the groupprinter driver corresponding to a designated outputting method;

FIG. 18 is a diagram showing an example of a display state of the UI atthe time when a ratio distribution printing has been designated as anoutputting method;

FIG. 19 is a diagram showing an example of a display state of the UIhaving adding/deleting (registering) functions of the member printerdriver;

FIG. 20 is a diagram showing an example of a display state of the UI forsetting details of the outputting method;

FIG. 21 is a diagram showing an example of a display state of the UI atthe time when a color/black and white distribution printing has beendesignated as an outputting method;

FIG. 22 is a diagram showing an example of a display state of the UI atthe time when a multiple address print has been designated as anoutputting method;

FIG. 23 is a diagram showing an example of a display state of the UI atthe time when a automatic substitute print has been designated as anoutputting method; and

FIG. 24 is an operation flowchart for obtaining attribute information ofthe member printer driver in the group printer driver.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment

A preferred embodiment to which the invention is applied will bedescribed hereinbelow.

FIG. 1 is a block diagram for explaining the construction of aninformation processing system to which the invention can be applied. Itis presumed that in the present system, one or a plurality of clientcomputers are connected.

In FIG. 1, reference numerals 102, 103, and 104 denote informationprocessing apparatuses serving as client computers (clients). Theseclient computers are connected to a network 106 by a network cable suchas Ethernet (registered trademark) or the like and can execute variousprograms such as an application program and the like. A printer driverhaving a function for converting print data into a printer languagecorresponding to a printer has been installed in each informationprocessing apparatus. It is assumed that the printer driver supports aplurality of printer drivers.

Reference numeral 101 denotes an information processing apparatusserving as a server (hereinafter, referred to as a print server) in theembodiment. The print server 101 is connected to the network 106 by anetwork cable, accumulates files which are used by the network, andmonitors use status of the network 106. The print server 101 manages aplurality of printers connected to the network 106.

The clients 102 to 104 and the print server 101 are general informationprocessing apparatuses. Print control programs each for making differentcontrol have been stored in the clients and the print server so thatthey can be executed.

The print server 101 is a general information processing apparatus andcan also have the same functions as the clients 102 to 104 as describedabove.

The print server 101 in the embodiment further has a function such thatprint jobs including print data whose print request has been issued fromthe client computers 102, 103, and 104 are stored, and the print data isprinted, or only job information including no print data is receivedfrom the client computers 102, 103, and 104, printing order of theclient computers 102, 103, and 104 is managed, and the client whoseprinting job is next in order is notified of permission of transmissionof the print job including the print data, or various information suchas status and print job of a network printer 105 is obtained andcommunicated to the client computers 102, 103, and 104, respectively.

Reference numeral 105 denotes the network printer serving as a printcontrol apparatus which is connected to the network 106 via a networkinterface (not shown). The network printer 105 analyzes the print jobincluding the print data which is transmitted from the client computer,converts it into a dot image page by page, and prints the print data ofeach page.

FIG. 2 is a block diagram for explaining a construction of theinformation processing apparatus of the invention. Each of the clientcomputers 102, 103, and 104 as information processing apparatuses alsohas the same construction as that shown in the diagram. Further, theserver 101 also has a hardware construction which is similar orsubstantially equivalent to that shown in the diagram. Therefore, anexplanation will be made on the assumption that FIG. 2 is a blockdiagram for explaining the construction of the clients and server.

In FIG. 2, reference numeral 200 denotes a CPU as control means of theinformation processing apparatus. The CPU 200 performs control in amanner such that an application program, a printer driver program, anOS, a network printer control program of the invention, or the likewhich has been stored in a hard disk (HD) 205 is executed andinformation, files, and the like which are necessary to execute theprogram are temporarily stored into a RAM 202.

Reference numeral 201 denotes a ROM as storing means. Programs such as abasic I/O program and the like and various data such as font data, datafor template, and the like which are used for a document process arestored in the ROM 201. Reference numeral 202 denotes the RAM astemporary storing means. The RAM 202 functions as a main memory, a workarea, or the like of the CPU 200.

Reference numeral 203 denotes a floppy (registered trademark) disk (FD)drive as memory medium reading means. A program or the like stored in anFD 204 as a memory medium can be loaded into the computer system via theFD drive 203 as shown in FIG. 5, which will be explained hereinlater.The memory medium is not limited to the FD but an arbitrary medium suchas a CD-ROM, CD-R, CD-RW, PC card, DVD, IC memory card, MO, memorystick, or the like can be used.

Reference numeral 204 denotes the floppy disk (FD) as a memory medium inwhich a computer-readable program has been stored.

Reference numeral 205 denotes one of external storing means andindicates the hard disk (HD) which functions as a memory having a largecapacity. The application program, printer driver program, OS, networkprinter control program, related program, and the like have been storedon the HD 205. Further, a spooler as spooling means is held in the HD205. The spooling means is a client spooler in case of the client and aserver spooler in case of the print server. The job information receivedfrom the clients is stored in the print server and a table for makingorder control is also formed and stored in the external storing means.

Reference numeral 206 denotes a keyboard as instruction input means. Theuser instructs the client computer to input a command such as a controlcommand or the like of a device by the keyboard 206, or the operator orthe administrator instructs the print server to input the command suchas a control command or the like of the device by the keyboard 206.

Reference numeral 207 denotes a display as display means for displayingthe command inputted from the keyboard 206, a status of the printer, orthe like.

Reference numeral 208 denotes a system bus for controlling a flow ofdata in the computer serving as a client or a print server.

Reference numeral 209 denotes an interface as input/output means. Theinformation processing apparatus transmits and receives data to/from anexternal apparatus via the interface 209.

FIG. 3 is a diagram showing an example of a memory map in the RAM 202shown in FIG. 2. This diagram shows the memory map in a state where thenetwork printer control program which is loaded from the FD 204 isloaded into the RAM 202 and can be executed.

In the embodiment, this diagram shows an example in which the networkprinter control program and related data are directly loaded from the FD204 into the RAM 202 and executed. However, as another example, eachtime the network printer control program is made operative from the FD204, such a program can be also loaded into the RAM 202 from the HD 205on which the network printer control program has already been installed.

The medium for storing the network printer control program is notlimited to the FD but a CD-ROM, a CD-R, a PC card, a DVD, or an ICmemory card can be also used. Further, it is also possible to constructin a manner such that the network printer control program is stored inthe ROM 201 and constructed as a part of the memory map and is directlyexecuted by the CPU 200.

Software for realizing functions similar to those of the foregoingapparatuses can be also substituted for the hardware apparatuses.

The network printer control program is also simply referred to as aprint control program. The print control program includes a program formaking control so as to allow the client to instruct a change in printdestination of the print job or a change in printing order. The printcontrol program also includes a program for allowing the print server tomake order control of the print jobs or make a notification of a printend, a request for changing the print destination, or the like of theprint job. In the print control program of the invention for making suchcontrol, a module which is installed in the client and a module which isinstalled in the print server can be also separately provided.Alternatively, it is also possible to construct in a manner such thatone print control program functions as a program for the clients or aprogram for the print server in accordance with an environment where itis executed. As a further alternative, it is also possible to constructin a manner such that both of a module having the function for theclient and a module which functions as a program for the print serverare installed into one computer, and they are simultaneously madeoperative or time-divisionally made operative in parallel in apseudo-manner.

Reference numeral 301 denotes a basic I/O program. A program having anIPL (Initial Program Loading) function such that when a power source ofthe control apparatus is turned on, the OS is read out from the HD 205and stored into the RAM 202 and the operation of the OS is started, orthe like has been stored in an area of the basic I/O program 301.

Reference numeral 302 denotes an operating system (OS); 303 a networkprinter control program which is stored in an area held on the RAM 202;304 related data which is stored in an area held on the RAM 202; and 305a work area in which an area where the CPU 200 executes the printcontrol program is held.

FIG. 4 is a diagram showing an example of the memory map in the FD 204shown in FIG. 2.

In FIG. 4, reference numeral 400 denotes data contents in the FD 204;401 volume information showing information of the data; 402 directoryinformation; 403 a network printer control program as a print controlprogram, which will be explained in the embodiment; and 404 its relateddata. The network printer control program 403 is a program based onflowcharts, which will be explained in the embodiment. In theembodiment, both of the client and the server have a similarconstruction.

FIG. 5 is a diagram showing a relation of the FD 204 which is insertedinto the FD drive 203 shown in FIG. 2. In FIG. 5, component elementsthat are the same as those in FIG. 2 are designated by the samereference numerals.

In FIG. 5, the network printer control program and related data, whichwill be explained in the embodiment, have been stored in the FD 204.

A print job control system for executing a print process such asdistribution, multiple address, or substitution mentioned above by usinga plurality of printers in the embodiment will now be described.

In the embodiment, a printer for virtually binding a plurality ofprinters as one printer is called a “group printer”, and the printerswhich are bound are called “member printers”. A printer drivercorresponding to the group printer is called a “group printer driver”. Aprinter driver corresponding to the member printer is called a “memberprinter driver”.

FIG. 6 is a diagram showing a manner by which a print job issued from ageneral application such as “Microsoft Word” or the like in the clientserver model of the present system is processed in the print job controlsystem. In FIG. 6, reference numeral 600 denotes a client machine inwhich the client module of the print job control system operates.

Usually, when printing is instructed, the application program forms aseries of draw commands and transfers them to a Windows spooler via theprinter driver. The Windows spooler takes a procedure for transferringprint job data to a port monitor selected by the user and transmittingit to a printer device.

In the embodiment, the user preliminarily designates a port monitor 621for the print job control system (hereinafter, it is abbreviated to ajob control port monitor in the embodiment) and instructs the print. Anapplication program 601 forms a series of draw commands. A group printerdriver 603 which has received the draw commands forms a general printfile and transmits it as print job data to the job control port monitor621 instead of a port monitor which transmits the print job data to theprinter device. The job control port monitor 621 does not transmit theprint job data to a printer device 650 but transmits it to a printservice 622 for the print job control system (hereinafter, it isabbreviated to a job control print service in the embodiment). The jobcontrol print service 622 executes a print job control process, as willbe explained hereinlater, to the print job data.

A print manager 623 for the print job control system (hereinafter, it isabbreviated to a job control print manager in the embodiment) is aprogram for allowing the user to examine in which status the print jobis in the job control print service 622 or providing a user interface(UI) for operating the print job.

The job control print manager 623 transmits and receives information andinstructions to/from the job control print service 622 via an interface(API) of software of the job control print service 622.

A server 630 for the print job control system (hereinafter, it isabbreviated to a job control server in the embodiment) concentratedlycontrols (schedules) timing when the job control print service 622 oneach client 600 transmits the print job data to the printer device 650.

A management console 633 for the print job control system (hereinafter,it is abbreviated to a job control management console in the embodiment)can monitor the whole print job control system by transmitting andreceiving information and instructions to/from the job control server630 via the API for allowing software which the job control server 630has to access.

The job control server 630 communicates with each printer device 650 byusing a device information control module 631, obtains informationregarding the print job and an operation mode in each printer, andexecutes the operation. The obtained information can be transferred tothe job control print service 622 on the client 600 side.

A print from the group printer driver 603 in the embodiment will bedescribed hereinbelow.

The group printer driver 603 converts the series of draw commands formedby the application program into the general print file as a file of anintermediate format which does not depend on the kind of printer device.A construction of the general print file will be explained hereinlater.

As mentioned above, this general print file is guided from a Windowsspooler 604 via the job control port monitor 621 (a) to the job controlprint service 622 (b). In accordance with a kind of job control which ismade to the print job, the job control print service 622 forms a drawcommand on the basis of the general print file (c). Subsequently, a PDLdriver 602 converts the draw command into a PDL file which can beinterpreted by the printer device 650. FIG. 6 shows the example in whichjob control for dividing the print job into two jobs is executed to sucha print job by the job control print service 622. Examples in which twomember jobs were formed are shown by two arrows (c). The PDL file formedby the PDL driver 602 is transmitted via the Windows spooler 604 and thejob control port monitor 621 (d) and again transferred to the jobcontrol print service 622 (e). The job control print service 622transmits the print job data of the PDL to the printer device 650 inaccordance with an instruction of the job control server 630 (f).

In accordance with an instruction of a print instruction text in thegeneral print file, the job control print service 622 logically dividesone general print file into a plurality of print jobs, transmits them todifferent printer devices, or retransmits the print job data which wasonce transmitted to another printer device. Reference characters (c),(d), (e), and (f) in FIG. 6 show a path of the print job data in such acase.

In the case where application software forms a general print file andthe application software directly inputs the general print file as aprint job, a method of transferring information to the group printerdriver 603 and process contents in the group printer driver 603 aredifferent from those of a general application. As mentioned above, inthe case of the general application, when drawing information istransferred to the group printer driver 603, the application calls a GDIfunction of Windows in a manner similar to that of the ordinary printerdriver, and the group printer driver 603 forms a general print file inaccordance with the GDI function. On the other hand, in the case of anapplication for directly forming a general print file, the applicationhas already had the general print file and supplies it to the groupprinter driver 603. The group printer driver 603 rewrites a printinstruction text in the general print file on the basis of a presetprinting method as necessary and sends it to the Windows spooler 604.

FIG. 8 is a diagram showing an example of a construction of a generalprint file.

The general print file which is used in the embodiment comprises a printinstructing portion 8-a and a document data portion 8-b. The printinstructing portion is a portion describing information of a documentand a print instruction. The document data is data obtained byconverting data of the document of the application into data in ageneral format and has a data format which does not depend on a printerlanguage.

The print instructing portion is constructed by a header portion, a pageinformation portion, a print style instructing portion, an outputtingmethod designating portion, a group printer driver set informationportion, the number of member printers, a member printer driver name, amember printer driver set information portion, and the like.

The header portion is a portion to store information such as versionidentification, file information, and the like of the file.

The page information portion is a portion to store information such asthe number of pages of the document data in the document data portion8-b, size of each page, and the like.

The print style instructing portion is a portion to store informationregarding an output style, such as print page range, the number of printsheets, layout information (N-UP, book-binding print, etc.) of thedocument data, stapling instruction, punching instruction, and the like.

The outputting method designating portion is a portion to storeinformation such as distribution printing, color/monochromaticdistribution printing, substitute print, multiple address print, and thelike as an outputting method.

The group printer driver set information portion is a portion to storeset information of a UI of a group printer driver, which will beexplained hereinlater.

The number of member printers is a portion to store the number of memberprinters to which the group printer driver has been made to correspond.

The member printer driver name is a portion to store a name of theprinter driver of the member printer.

The member printer driver set information portion is a portion to store,for example, DEVMODE information as set information of a driver UI ofthe member printer.

Each of the member printer driver name and the member printer driver setinformation portion has storing areas of the number stored in theportion of the number of member printers mentioned above.

In the group printer driver 603 described in FIG. 6 mentioned above,when the general print file is formed, set contents on the group printerdriver GUI are recorded into the print instructing portion 8-a. Further,the group printer driver 603 converts the data received by the GDI intothe general data and records it as document data into the document dataportion of the general print file.

The present file can be also replaced with a file in which the printinstructing portion 8-a and the document data portion 8-b are different.In such a case, the print instructing portion exists as a printinstruction text file, the document data portion exists as a documentdata file, and they can be also bound in one archive format andsimilarly handled like one file.

The print system which is provided by Windows, the relation of the printjobs in a print job control system, and an outline of processes in FIG.7 will be described in further detail.

In FIG. 7, a print job control system 700 shows a range of the print jobcontrol system over physical machines in which the control program forthe server and the client operate. An output port 711 (711A, 711B)managed by the server is allowed to correspond to a proxy output port712 (712A, 712B) of the job control print service 622 of the client andintegratedly manages all proxy output ports on each client allowed tocorrespond to one port. In the embodiment, actual print job data is heldin the proxy output port 712 of each client. The job control server 630does not execute a transmitting process of the print job data itself butissues only a transmitting instruction of the print job to the jobcontrol print service 622. In accordance with this instruction, the jobcontrol print service 622 transmits the print job data to the printerdevice 650.

Subsequently, processes in the case where the print job control system700 executes a print with an additional value such as substitute print,distribution printing, multiple address print, or the like will bedescribed.

In the case where the print job control system 700 executes printingwith an additional value such as substitute print, distributionprinting, multiple address print, or the like, the user or theapplication 601 has to issue the print job to the printer to which thegroup printer driver 603 has been allocated. The job control printservice 622 receives the job data processed by the group printer driver603 as a general print file via the job control port monitor 621. Thejob control print service 622 receives this job and issues a job (memberjob) to another printer to which the PDL driver has been allocated via adespooler 701, thereby allowing the printer to print. At this time, thedespooler 701 interprets the print instructing portion 8-a of thegeneral print file described in FIG. 8 mentioned above, modifies thedocument data in the document data portion 8-b, converts it into the GDIof Windows, instructs each printer driver to print, and issues the printjob. For example, if an instruction of 2-UP has been recorded in theprint style instructing portion, the document data of two pages isreduced and arranged (reduction layout) onto one sheet of paper. In acase of distribution printing or multiple-address printing, the jobs areissued to a plurality of member printers described in the printinstructing portion 8-a in accordance with those set contents. In a caseof substitute printing, when substituting conditions are satisfied,member jobs are issued in accordance with the previous set contents inthe case of automatic substitution and are issued in accordance with theoperation of the user in the case of manual substitution.

When the job is issued to each member printer, the despooler 701 needsto form DEVMODE of each member printer as a print instructioncorresponding to the member printer driver. However, this DEVMODE isformed by properly reflecting the contents disclosed in the printinstructing portion 8-a to the DEVMODE of each member printer.

The job control print service 622 on the client side receives the PDLdata of each member job which has been rendered by the PDL driver 602via the job control port monitor 621, notifies the server side ofinformation regarding the received job, and temporarily holds the jobdata into its own proxy output port 712. After that, the job controlprint service 622 receives a transmitting instruction from the jobcontrol server 630 and, subsequently, transmits it to the printer device650.

An explanation will be made with respect to UI control of the printerdriver for the print job control system for executing a printing processsuch as distribution, multiple address, or substitution by using aplurality of printers having printer drivers with memory areas such ascommon set area and expansion set area in the embodiment.

FIG. 9 is a flowchart showing a UI control flow of the group printerdriver of the invention. It is assumed that a process in each step inthe flowchart of FIG. 9 is realized by a method whereby the CPU (centralprocessing unit) provided for the information processing apparatusdescribed above reads out a control program stored in predeterminednonvolatile memory means such as ROM, FD, hard disk (HD), or the likeand executes a process based on the read-out program. It is also assumedthat this point is also similarly applied to a flowchart of each ofFIGS. 13, 14, 15, 17, and 24, which will be explained hereinlater.

In step S901, a UI display request to the group printer driver isaccepted from the application via the OS for the control program.

In step S902, in response to the UI display request in step S901, anidentification ID of each member printer driver constructing the groupprinter driver is inquired by using a print job control system API,thereby obtaining the identification IDs of all of the member printerdrivers constructing the group printer driver. A name of each memberprinter driver, or other information for identifying it, can be appliedas an identification ID.

In step S903, the capability of the member printer driver is obtainedfrom the identification ID of each member printer driver obtained instep S902 (a response is obtained by inquiring). This step correspondsto a process for reading out a result of discrimination about whetherthe member printer driver is a “function controllable driver” in whichthe driver function can be obtained up to the portion of the expansionarea of the driver set information and the driver UI control can be madeor another driver, that is, a “function uncontrollable driver” withrespect to all of the member printer drivers constructing the groupprinter driver.

In step S904, a construction of the member printer driver isdiscriminated from information about whether the function iscontrollable or uncontrollable which was read out in step S903. As aresult of the discrimination in step S904, if it is determined that thegroup printer driver is constructed by only the “function controllabledrivers”, the processing routine advances to step S905. If it isdetermined that the group printer driver is constructed by otherdrivers, the processing routine advances to step S906.

FIG. 10 is a table showing a correspondence between kinds ofconstructions of the member printer drivers constructing the groupprinter driver in the invention and items which can be set.

FIG. 11 is a table showing a correspondence among common set items,expansion set items, and set items.

In the present invention, the common set items are classified andspecified as items existing in the foregoing common set area, and theexpansion set items are classified and specified as items existing inthe foregoing expansion set area. Although there is a case where theclassification of the set items differs or a case where there is achange in items which can be set in dependence on a difference of the OSby which the print job control system operates, naturally, the UIcontrol flow of the invention is effective.

FIG. 13 is a flowchart showing the detailed process of step S905.

In step S1301, ability regarding each common set item of each memberprinter driver is inquired, a conflicting process of the function isexecuted, and items to be displayed by the group printer driver UI areselected on the basis of a result of the conflicting process.

The conflicting process of the function denotes a process such that thepresence or absence of the function of each set item is discriminatedwith respect to each member printer driver serving as a target of thegroup printer driver, if there are functions (items) in all of thetarget member printer drivers every set item, the UI display control ismade by the group printer driver UI so that the functions (items) areset to the items which can be set, and if there is at least one memberprinter driver without a function, such an item is set to the item whichcannot be set.

The above UI control will now be described with respect to specificexamples.

A printer driver A in FIG. 12 shows the group printer driver and printerdrivers B, C, and D indicate the member printer drivers constructing thegroup printer driver. In the table, “present” and “absent” are obtainedby this control program and indicate whether each member printer driversupports the book-binding printing function, stapling function, orpunching function or not. Naturally, the above point is also similarlyapplied with respect to other predetermined functions (set items).

First, when attention is paid to the book-binding printing function,although the drivers B and D have the book-binding printing function,since the driver C does not have such a function, the item of“book-binding printing function” of the group printer driver A is“absent”.

Similarly, as for the stapling function, since the function exists inall of the member printer drivers B, C, and D, the item of “staplingfunction” of the group printer driver A is “present”. As for thepunching function, since the function does not exist in all of themember printer drivers B, C, and D, the item of “punching function” ofthe group printer driver A is “absent”.

In step S1302, the conflicting process of the functions shown in theabove step is executed with respect to the expansion set items of eachmember printer driver.

In step S1303, the group printer driver UI display is performed on thebasis of the results of the conflicting processes executed in stepsS1301 and 1302, and the setting for each set item is performed inaccordance with an operating instruction by the user.

With respect to the item without the function (for example,“book-binding printing function” in FIG. 12) as a result of theconflict, control is made so that it cannot be set on the UI, forexample, the predetermined target item which is disabled to be set isgray-out displayed or is not displayed. With respect to the items havingthe functions, such display control is not performed.

FIGS. 16A and 16B show specific examples of the gray-out control andnon-display control of the user interface corresponding to step S1303.Dialog boxes of the duplex print and book-binding print of the set itemsare portions subjected to the UI control.

In step S1303, the UI control is made so that a combination which isimpossible on the functions, such as a combination of the designationof, for example, the punching function and the stapling function at thetime when “book-binding printing” is designated by the user cannot beset, thereby preventing the occurrence of a contradiction in the setitems.

In step S1304, with respect to the items in which there is no set itemon the group printer driver UI, that is, the items subjected to the UIdisplay control of the non-display as described above as targets, theuser interface of the member printer driver is individually displayedand in order to perform the detailed setting via the displayedindividual user interface of the member printer driver, the memberprinter drivers as setting targets are designated from the group printerdriver UI. The member printer drivers as designation targets are themember printer drivers constructing the group printer driver andcorrespond to, for example, the predetermined member printer driversselected from Printer A, Printer B, Printer C, etc., in FIG. 18 inaccordance with an input of a pointing device such as a mouse or thelike.

In step S1305, the member printer driver UI designated in step S1304 isopened, and the detailed setting is performed.

In the case where the member printer driver UI is called via the groupprinter driver UI and displayed, if the predetermined items which can beset via the group printer driver can be also set via the member printerdriver UI, the same function is set to both of them. Therefore, thesetting process is executed twice. According to the invention,therefore, the following UI control is made and the displaying processof the member printer driver is executed.

(1) If the member printer driver is the “function controllable driver”,with respect to the item which conflicts with the set items on the groupprinter driver UI, the UI control is made in a manner such that such anitem cannot be set on the member printer driver UI by a method wherebysuch an item is gray-out displayed, is not displayed, or the like. It isalso possible to construct the manner of control in a manner such thatthe UI is displayed so that a setting instruction can be performed and,when the setting is performed, a warning or the like is displayed, andthe instructed setting is invalidated.

(2) If the member printer driver is the “function uncontrollabledriver”, with respect to the common set items, the UI is displayed inthe setting state set via the group printer driver UI. After completionof the display control of the member printer driver UI, if the itemswhich have been preset via the group printer driver UI are changed viathe member printer driver UI, control is made in a manner such that whena process for closing the member printer driver UI is executed, theinformation of the set items set by the group printer driver isoverwritten onto the common set items of the member printer driver, andthe change in setting on the member printer driver UI is not permitted.

Display control such that when the overwriting process is executed, awarning showing that the setting change on the member printer driver UIis invalid is displayed is also presumed.

Since step S1305 corresponds to the discriminating process in step S904showing that all of the target member printer drivers are the “functioncontrollable drivers”, the foregoing UI control (1) is executed.

FIG. 14 is a flowchart showing the detailed process of step S906.

The process in this flowchart corresponds to a process in the case wherethe member printer drivers are constructed by a mixture of the “functioncontrollable drivers” and the “function uncontrollable drivers” or byonly the “function uncontrollable drivers” unlike the case where theprocessing routine advances to step S905. Therefore, the items which canbe set by the group printer driver UI are limited to the common setitems in which the set information can be read out and written incommon.

In step S1401, in a manner similar to step S1301, ability regarding eachcommon set item of each member printer driver is inquired, theconflicting process regarding each function (each item) is executed, andthe items which are displayed by the group printer driver UI are furtherselected (extracted) from the common set items on the basis of theresult of the conflicting process.

In step S1402, the group printer driver UI is displayed on the basis ofthe result of the UI conflicting process performed in step S1401. Withrespect to the items having no function or the expansion set items as aresult of the conflict, control is made so that they cannot be set onthe UI by a method whereby it is gray-out displayed, is not displayed,or the like as described above.

In step S1403, whether an instruction to open the UI of the memberprinter driver in order to set each item or expansion set items (uniqueset items which each member printer driver has) controlled so that theycannot be set in step S1402 has been issued or not is discriminated.

When it is recognized that the member printer driver has been designatedvia the group printer driver UI so as to be set in detail, theprocessing routine advances to step S1404.

In step S1404, the UI of the member printer driver designated in stepS1403 is opened, thereby allowing the setting of the individual memberprinter driver to be performed in accordance with the instructioninputted via the pointing device such as a mouse or the like. Thedesignation of the predetermined member printer driver is performed, forexample, via the UI of the group printer driver shown in FIG. 18 in amanner similar to FIG. 13.

FIG. 15 is a flowchart showing further details of the process of stepS1404.

In step S1501, the kind of member printer driver is discriminated.

If the designated member printer driver serving as a target is the“function controllable driver”, step S1502 follows; otherwise, theprocessing routine advances to step S1503.

The discrimination of the kind of member printer driver is realized, forexample, by a process such that when the expansion set items are readout via the OS, whether the obtained data is data which can berecognized or not is discriminated, that is, if the data is recognized,the driver is determined to be the “function controllable driver”, or aprocess for discriminating the identification information or the like ofthe providing source allocated to the member printer driver.

In step S1502, the control of the common set item UI of the memberprinter driver is made in accordance with the rule shown in (1) in stepS1305. The UI display control subjected to the gray-out control or thelike of the UI is made to the common set items. A predetermined printsetting is executed via the member printer driver UI to which thedisplay control has been made.

In step S1503, the display control of the common set item UI of themember printer driver is made in accordance with the rule shown in (2)in step S1305. The detailed print setting is executed via the UI towhich the display control has been made.

If all of the setting operations are finished on the group printerdriver UI in step S907, by pressing an “end of setting” button, theprocessing routine advances to a series of processes for finishing thesetting.

In step S908, whether the items set by the group printer driver are notcontradictory as set items of each member printer driver or not isdiscriminated.

Specifically speaking, the printer has an item which is intimatelyconcerned with the function which the device has. For example, in caseof the printer A, the position on the paper of the A4 size where thestapling operation is possible is limited to only the upper leftposition of the paper and in case of the printer B, the position on thepaper of the A4 size where the stapling operation is possible is limitedto only the lower left position of the paper.

In this step, in addition to the conflict check executed in step S1303for each member printer driver, that is, the conflict check about thecombination which is impossible on the setting functions, whether theitems set on the group printer driver UI can be reflected to each memberprinter driver, as set items of each member printer driver, or not isdiscriminated with regard to the member printer drivers as targets.

In step S909, a result of the conflict check executed in step S908 isdiscriminated.

If the set items set on the group printer driver UI are proper in all ofthe member printer drivers, the processing routine advances to stepS912. The process for displaying the group printer driver UI isfinished.

If it is determined in step S909 that the item which will cause aconflict (inconvenience) exists among the set items, step S910 follows.A “reset” button and a “forced” button are UI displayed together with amessage “set items are reset on the group printer driver UI?” or“printing process is executed in the present set items?”.

In step S911, whether the “reset” button or the “forced” button has beenpressed is discriminated. If the “reset” button is pressed, theprocessing routine is returned to a just-previous process in step S1303(in the case where the member printer driver is the “functioncontrollable driver”) or step S1402 (in the case where the memberprinter driver is the “function uncontrollable driver”) in accordancewith the construction of the member printer driver.

If the “forced” button is pressed, the processing routine advances to aprocess in step S912 and the process for displaying the group printerdriver UI is finished.

A relation between the recording of the information set by the foregoingUI and the foregoing general print file in FIG. 8 in the embodiment willnow be described.

In the embodiment, with respect to the information set by the foregoingUI, the driver set information (DEVMODE) of the group printer driver isrecorded into the foregoing print instructing portion in the generalprint file described in FIG. 8 in each of the common area and theexpansion area. Driver set information (DEVMODE) of each member printerdriver is recorded into the driver information setting portion of themember printer driver in the general print file in each of the commonarea and the expansion area.

After that, the general print file is used in the printing process usingthe foregoing print job control system and the print in the embodimentcan be executed.

A display state of the user interface of the group printer driver instep S1303 or S1402 mentioned above will now be described.

In the embodiment, by opening the group printer driver UI, a desiredoutputting method of the user can be properly selected from a pluralityof kinds of outputting methods. For example, the outputting method ofone of the ratio distribution, color/black and white distribution,multiple address, and automatic substitution can be set. By designatingand setting the member printer driver for each mode, a plurality ofprint instructions can be made from one printer driver.

FIG. 17 is a flowchart showing the UI operation flow in the embodiment.

First, in step S1701, the outputting method is designated. As anoutputting method, one of the ratio distribution, color/black and whitedistribution, multiple address, and automatic substitution can beselected as mentioned above. However, the invention is not limited tothose methods. Naturally, another outputting method of the printingprocess for a plurality of printer devices as targets can also beapplied.

In next step S1702, the member printer driver designated in eachoutputting method is registered. The member printer driver registeredfor each respective outputting method corresponds to the member printerdriver which is displayed in accordance with the outputting methoddesignated by the present control program. A combination of the memberprinter drivers which have been registered every outputting method andis constructed every outputting method is concerned with a process suchthat the present control program recognizes the outputting methodsdesignated via the group printer driver UI and controls so as to switchand display the member printer driver corresponding to the recognizedpredetermined outputting method.

In the next step, S1703, detailed designation of each outputting methodis performed as will be explained hereinbelow.

In the next step, S1704, the member printer driver as a conflict targetin each outputting method is set. The member printer driver as aconflict target corresponding to each outputting method corresponds tothe member printer driver registered in step S1702. Further, theconflicting process regarding the group printer driver and the memberprinter drivers described in FIGS. 9 to 16A and 16B is executed to themember printer drivers set here.

By the processes in the flowchart of FIG. 17, when the setting of theoutputting method is switched in accordance with the selection of theoutputting method by the group printer driver which can control aplurality of member printer drivers, control is made in a manner suchthat the display of the user interface for setting the outputting methodcan be switched in accordance with the kind of switched outputtingmethod. Therefore, even if the outputting method is properly changed,the user can obtain the user interface for performing the optimum printsetting to the changed outputting method. The user interface forperforming the optimum print setting according to the outputting methodis based on the conflicting process as described in FIGS. 9 to 16B orrelates to the print setting that is peculiar to each outputting method,which will be explained hereinlater. As will be also explainedhereinbelow, the detailed method of the conflicting process also differsdepending on each outputting method and the user interface for the printsetting according to the outputting method also differs in accordancewith the different outputting method.

As one example of the embodiment, if the ratio distribution (samemeaning as the distribution printing) is selected as an outputtingmethod, it is assumed that the member printer drivers as conflicttargets are set to the printer drivers of all of the member printers onthe distribution destination side as targets.

In the next step, S1705, each of the set items is recorded. Therecording of the set items is realized by recording them into thegeneral print file described in FIG. 8. For example, the set items arerecorded by using the print instructing portion 8-a of the general printfile, particularly, by using the outputting method designating portionin the set items in step S1701. In the set items in step S1702, they arerecorded by using the number of member printers, the member printerdriver name, and the member printer driver set information portion. Inthe set items in step S1703, they are recorded by using the groupprinter driver set information portion.

The user interface (group printer driver UI) in the embodiment will bespecifically explained with reference to FIG. 18.

In FIG. 18, reference numeral 1801 denotes a combo box for selecting anddesignating the outputting method described in step S1701 in FIG. 17mentioned above. When the combo box 1801 is instructed via a pointingdevice such as a mouse or the like, a list of a plurality of outputtingmethods is displayed and a predetermined outputting method is designatedfrom the displayed list.

Reference numeral 1802 denotes a button for opening the UI to registerthe member printer drivers described in step S1702 in FIG. 17. The UIwhich is opened here will be explained hereinlater.

Reference numeral 1803 in FIG. 18 denotes a list box for displaying alist of the registered member printer drivers after the member printerdrivers were registered.

In the example of this UI, together with the names of the member printerdrivers, various information regarding the member printer drivers isalso displayed. Contents of the list display are also changed inaccordance with the outputting method designated in step S1701 mentionedabove. That is, the system has the construction of the member printerdrivers every plural kinds of outputting methods. Thus, the user caneasily call the suitable member printer drivers every outputting methodand there is no need to register a new member printer drivers each timethe outputting method is changed.

Reference numeral 1807 denotes check boxes for preventing that theregistered member printer drivers described in S1702 in FIG. 17mentioned above are not temporarily included in the construction asoutput target printer drivers or adding them into the construction ofthe member printer drivers from such a state where they are notincluded. If the check boxes 1807 are marked, the member printer driversare regarded as target printer drivers. If the check boxes 1807 are notmarked, a process for temporarily removing the member printer driversfrom the target printer drivers is executed. That is, this processcorresponds to the primary registering process of the member printerdrivers in step S1702 mentioned above and the process for setting themember printer drivers to the target printer drivers of the actualprinting process by marking the check boxes corresponds to the secondaryregistering process.

As mentioned above, in the registration of the member printer drivers,the setting mechanism of two stages of the primary registration and thesecondary registration can be realized by the invention. For example, inthe ordinary distribution printing, with respect to the predeterminedmember printer driver as a target of the printing process, thepredetermined member printer driver can be temporarily removed from thetargets due to a failure or the like of the printing apparatuscorresponding to such a member printer driver, or contrarily, if thefailed printing apparatus is recovered, this member printer driver canbe again set to the member printer driver which is activated at the timeof the actual printing process by marking the check box. The aboveoperation is realized by a construction such that the member printerdrivers registered every outputting method in step S1702 and theinformation of the discrimination about whether the member printerdrivers have been set to the member printer drivers which are used bymarking the check boxes or not are independently held in predeterminedstoring portions, respectively.

Further, in the invention, the primary registration and the secondaryregistration described above can be set every plural outputting methods,and the primary registration and the secondary registration areindependently processed for each of the multiple address print,color/black and white distribution printing, and substitute print, whichwill be explained hereinlater, as well as the ratio distributionprinting. The above process can be realized by having a constructionsuch that the setting states of the primary registration and thesecondary registration are stored and held into the predeterminedstoring portions and, further, a construction such that the heldinformation is referred to and displayed. In the case of holding thesetting states of the primary registration and the secondaryregistration every outputting method, a similar effect is obtained notonly by a method whereby the set information of the primary registrationand the secondary registration is completely stored every pluraloutputting methods but also a method whereby the primary registrationand the secondary registration are independently set for at least two ormore outputting methods.

Reference numeral 1806 denotes a display column of attribute informationof each device. This display column corresponds to a column where theattribute information of the device corresponding to each member printerdriver set in the group printer driver is displayed together with thenames of the member printer drivers in accordance with the displaycontrol of the control program.

Reference numeral 1804 in FIG. 18 denotes a button for opening the UIfor designating details of the outputting method in step S1703 in FIG.17 mentioned above. Contents of the detailed setting are also changed inaccordance with the outputting method designated in step S1701 mentionedabove.

Reference numeral 1805 in FIG. 18 denotes a button for displaying themember printer driver UI for performing the detailed print setting ofthe member printer driver. With respect to a predetermined memberprinter driver inputted and instructed via the pointing device such as amouse or the like from the list of the list box 1803, when a depressionsignal of the button 1805 is inputted to the information processingapparatus, the UI of the member printer driver recognized as beingselected is called and displayed.

When the individual UI of the member printer driver is called anddisplayed, the conflicting process is executed to the member printerdriver set in step S1704 in FIG. 17 mentioned above. The UI of themember printer driver to which a result of the conflicting process hasbeen reflected is displayed.

Subsequently, registration/deletion of the member printer driver will bedescribed with reference to FIG. 19.

FIG. 19 is a diagram showing the UI which is displayed when the controlprogram recognizes the depression signal of an “addition/deletion ofdevice” button 1802 in FIG. 18 described above.

In FIG. 19, reference numeral 1901 denotes a list box for displaying alist of member printer drivers which can be selected. The member printerdrivers which can be selected denote printer drivers to which the portwhich can be handled by the present system has been allocated and whichhave been installed, and denote printer drivers whose existence can berecognized by the present control system.

Reference numeral 1902 denotes a list box for displaying a list of theselected member printer drivers. A desired member printer can be addedto or deleted from the list of the selectable member printers byoperating buttons 1903, 1904, 1905, and 1906.

When a depression signal of the button 1903 is recognized, a process foradding the printer driver selected at the time of depression in the listbox 1901 as one component element of the member printer drivers isexecuted.

When a depression signal of the button 1904 is recognized, control ismade so that the member printer drivers displayed in the list box 1902are constructed with respect to all of the printer drivers shown in thelist 1901 as targets.

Reference numeral 1905 denotes the button for removing a desired memberprinter driver from the member printer drivers on the contrary to thecases of the buttons 1903 and 1904. When depression signals of thebuttons 1903 and 1905 are recognized, the target member printer driversare controlled so as to remove the desired member printer driver fromthe construction of the member printer drivers in the list 1902.

The detailed setting of the outputting method in step S1703 in FIG. 17mentioned above will now be described with reference to FIG. 20.

FIG. 20 is a diagram of the UI which is displayed by pressing the button1804 in FIG. 18 mentioned above. This UI corresponds to the UI whichenables the detailed setting for the member printer driver selected fromthe list 1803 in FIG. 18.

Since the ratio distribution has been selected and designated here as anoutputting method in FIG. 18, the UI which is displayed here is the UIfor performing the ratio setting of the printing process of each memberprinter driver at the time of the distribution printing. A distributionratio of the designated member printer driver can be designated by aninteger value.

Second Embodiment

In the second embodiment, an explanation will be made with respect to anexample in the case where the color/black and white distribution hasbeen selected and set as an outputting method in step S1701 in FIG. 17in the first embodiment.

In the second embodiment, a fundamental flow of processes issubstantially the same as that of the first embodiment, except that theUIs which are displayed in steps S1702 and S1703 in FIG. 17 and thesetting of the member printer drivers as conflict targets which are setin S1704 are merely different from those in the first embodiment, andother aspects of the construction are the same. Therefore, it is assumedthat only portions which are peculiar to those examples are extractedand explained.

FIG. 21 is a diagram showing an example of a display state of the UI ofthe group printer driver at the time when the color/black and whitedistribution has been designated as an outputting method in step S1701in FIG. 17.

The color/black and white distribution denotes a form such that a colorpage in a document is controlled so as to be processed by a colorprinter driver, a black and white page is controlled so as to beprocessed by a monochromatic printer driver, and they are printed andoutputted by a color printer device and a monochromatic printer device,respectively. As a member printer construction, one color printer andone monochromatic printer are used. That is, the member printer driversare constructed by a printer driver corresponding to the color printerdevice and a printer driver corresponding to the monochromatic printerdevice. A member printer driver UI for performing the detailed settingof each member printer driver can be displayed by the operation similarto that in the case described in FIG. 18.

In correspondence to the form as shown in FIG. 21, the color printerdriver and the monochromatic printer driver are respectively registeredin step S1702 in FIG. 17 and the user interface as shown in FIG. 21 isconstructed.

In the detailed designation of the outputting method in step S1703 inFIG. 17, according to the embodiment, a button to instruct the furtherdetailed designation of the outputting method such as a “set ratio”button described in FIG. 18 is not displayed. However, for example, in adisplay picture plane of FIG. 21, it is also possible to provide abutton for performing the detailed setting regarding a substitutedestination such as a discrimination about whether the substitute printby the monochromatic printer is permitted to the substitute destinationat the time of a fault substitution in the color printer or not, or thelike.

Further, with respect to the setting of the member printer as a conflicttarget in step S1704 in FIG. 17, in the second embodiment, if thecolor/monochromatic distribution has been selected as an outputtingmethod, as for the member printer as a conflict target, it is alsopossible to presume a form such that the conflicting process is executedto the set items regarding the color by the member printer drivercorresponding to the color printer, and the conflicting process isexecuted to other print items by a combination of the member printerdriver corresponding to the color printer and the member printer drivercorresponding to the monochromatic printer. That is, in the case wherethe printer driver of the color printer and the printer driver of themonochromatic printer have been selected as member printer drivers inthe color/monochromatic distribution, respectively, setting possibleinformation of the member printer driver of the color printer isreferred to with respect to the items peculiar to the color printer,with respect to the items (for example, paper size and the like) whichare referred to in common by the color printer and the monochromaticprinter, the items of both of the member printer drivers are referredto, and the conflicting process is executed.

For example, although the set item regarding the color in FIG. 11 isonly the gray scale of the common set items, it is shown as an example,and naturally, a case where other items are changed/added in dependenceon the functions of the member printer drivers is properly presumed.

Third Embodiment

In the third embodiment, an explanation will be made with respect to anexample in the case where the multiple address has been selected and setas an outputting method in step S1701 in FIG. 17 in the firstembodiment.

In the third embodiment, the fundamental flow of processes issubstantially the same as that of the first embodiment, except that theUIs which are displayed in steps S1702 and S1703 in FIG. 17 and thesetting of the member printer drivers as conflict targets which are setin S1704 are different from those in the first embodiment, and otheraspects of the construction are the same. Therefore, the points ofdifference will be explained particularly in detail.

FIG. 22 is a diagram showing an example of a display state of the UI inthe case where the multiple address print has been selected and set asan outputting method via the predetermined pointing device such as amouse or the like.

The multiple address print indicates a print outputting method wherebyall of a plurality of member printer drivers in which a document (printdata) whose number of copies is equal to one are allowed to execute theprinting process and the devices corresponding to the plural memberprinter drivers are allowed to execute the same document print.

As a construction of the member printer drivers, a plurality of memberprinter drivers can be registered in a manner similar to the casedescribed in the ratio distribution (distribution printing).

The UI corresponding to each of the member printer drivers can be alsoopened and this process is realized in accordance with the operationsimilar to that described in FIG. 18. When a depression signalindicative of “property of driver” in FIG. 22 is inputted to theinformation processing apparatus with respect to the predeterminedmember printer drivers which were inputted and designated from aplurality of output destination devices (Printer A, Printer B, andPrinter C in FIG. 22) in FIG. 22 via the pointing device such as a mouseor the like, the UIs of the member printer drivers which are recognizedas being selected are called and displayed.

If multi-address printing has been set as an outputting method incorrespondence to step S1701 in FIG. 17, in a manner similar to the caseof the ratio distribution described above, the UI as shown in FIG. 19 isdisplayed in response to an input of a depression signal of the“addition/deletion of device” button in FIG. 22, so that theregistration/deletion of the member printer drivers which are activatedin the multi-address printing is realized (corresponding to step S1702in FIG. 17).

With respect to the detailed setting of the outputting method (detailedsetting regarding the multi address print in the third embodiment)corresponding to step S1703 in FIG. 17, in case of FIG. 22, the buttonto perform the detailed setting is not particularly displayed for themulti address print. However, for example, it is also possible toconstruct the control in a manner such that if some trouble occurs inthe printers on the multi-address printing destination side or in theprinter drivers and the print data (PDL or intermediate file data)formed normally is not transmitted, the number of times for retrying thetransmission of the print data or the like can be set.

If the multi-address printing has been set as an outputting method inthe third embodiment, according to the process corresponding to theconflicting process in step S1704 in FIG. 17, since all of the memberprinter drivers become the targets of the conflicting process in amanner similar to the case of the ratio distribution printing, itsdetailed description is omitted.

Fourth Embodiment

In the fourth embodiment, an explanation will be made with respect to anexample in the case where the automatic substitute print has beenselected and designated as an outputting method in step S1701 in FIG. 17in the first embodiment.

In the fourth embodiment, the fundamental flow of processes issubstantially the same as that of the first embodiment, except that theUIs which are displayed in steps S1702 and S1703 in FIG. 17 and thecontrol of extraction of the target member printer drivers of theconflicting process which is executed in step S1704 can be mentioned aspoints which are different from those in the first embodiment, and adetailed explanation of other processes with respect to portions similarto those in the first to third embodiments is omitted here.

FIG. 23 is a diagram showing an example of a display state of the UI inthe case where the automatic substitute print has been selected and setas an outputting method in step S1701 in FIG. 17.

In the automatic substitute print in the fourth embodiment, a priorityis allocated to each of the member printer drivers, and first, the printis preferentially executed by the member printer driver having thehighest set priority. If an error such as absence of toner or the likeoccurs in the printer device to be subjected to the printing process atpresent and the printing becomes impossible, control is made so as toallow the member printer driver having the second highest priorityautomatically to execute the printing process.

In this case, as a construction of the member printer drivers, in amanner similar to the case of the ratio distribution (distributionprinting), a plurality of member printer drivers can be registered andthe control program has a function for setting the priority to eachmember printer driver.

In FIG. 23, reference numerals 2301 and 2302 denote buttons for changingthe priority of each member printer driver. In the example of this UI,the priority of the member printer coincides with the order written in amember printer list 2303.

Therefore, a desired member printer driver is selected from the list2303 and the order on the member printer list can be raised by one(upward movement display) by operating the button 2301 and the prioritycan be also raised.

The order on the member printer list can be reduced by one (downwardmovement display) by operating the button 2302, and the priority can bealso reduced. Since the process to open the GUI of each member printercan be realized by a process similar to that described in FIG. 18 andthe like, its detailed description is omitted here.

The registration (addition/deletion) of the member printer drivercorresponding to step S1702 in FIG. 17 is also executed in a manner asdescribed in the second embodiment. Control so as to display the UIsimilar to that shown in FIG. 19 is made and a registering/deletingprocess of the member printers is executed.

Since the process for the detailed setting of the outputting method instep S1703 in FIG. 17 does not particularly exist in the embodiment, abutton for such a process is not provided in the UI of FIG. 19.

As for the setting of the member printer driver serving as a target ofthe conflicting process in step S1704 in FIG. 17, if the automaticsubstitute print has been set as an outputting method, a form such that,as a member printer driver of the conflict target, the settingconditions of the member printer driver having the highest priority arepreferentially used is presumed. By selecting the setting of the memberprinter driver having the highest priority as mentioned above, even ifthe substitute printing process is executed, a situation such that thesetting in the member printer driver having the highest priority islimited can be prevented. Naturally, a form such that the conflictingprocess to perform an AND process for discriminating the presence orabsence of each set item is executed with respect to all of the memberprinter drivers registered as targets in a manner similar to the firstembodiment is also presumed.

As mentioned above, as shown in FIGS. 18, 21, 22, and 23, the memberprinter drivers can be registered every outputting method in accordancewith the designation of the outputting method, and the construction ofthe registered member printer drivers is switched and displayed inaccordance with the designation of the outputting method. Therefore, theuser can easily recognize the member printer drivers which are managedevery outputting method and use them.

Processes for setting and obtaining the device information (attributeinformation of the device) shown at 1806 in FIG. 18 will now bedescribed with reference to FIG. 24.

FIG. 24 shows a flowchart for setting the printer driver which isinstalled into the system so as to become the target of the memberprinter when the system is set up and, at the same time, setting(obtaining) information of the device.

First, in step S2401, the setup is started.

Next, in step S2402, the printer drivers serving as targets of themember printers are selected and set to targets of the installation.

Subsequently, in step S2403, the selected printer drivers are installedand registered and set as member printer drivers. That is, the driversinstalled in step S2403 are registered as member printer drivers in stepS1702 in FIG. 17 described above.

The device information of each printer driver installed in step S2403 isobtained. As device information, as attributes of the target devices ofthe installed printer drivers, for example, information of whether asupport paper size is equal to A3, A4, or B5, whether a duplex print ispossible or not, whether a stapling print is possible or not, and otherinformation about a finishing function regarding whether punching holescan be formed or not, whether a Z-folding process is possible or not, orthe like are inputted. As a form of obtaining the device information,the following forms are presumed: that is, a form such that each of theinstalled printer drivers inquires of the corresponding printer devicevia a predetermined network and obtains the device information and thecontrol program obtains this device information; a form such that thecontrol program obtains the device information which the member printerdrivers preliminarily have as default values; or a form such that setvalues inputted from the keyboard or the like are registered as deviceinformation.

Subsequently, in step S2405, whether the installation of the targetmember printer drivers has been completed or not is discriminated. If itis not completed, the processing routine is returned to step S2402, andthe process for registering the printer driver selected in accordancewith a predetermined selecting operation as a member printer driver isrepeated. On the other hand, if the installation has been completed, theprocessing routine advances to step S2406. The discrimination about thecompletion is made by, for example, recognizing the selection of “Yes”or “No” by the user in response to a message “installation iscompleted?” displayed in the display unit of the information processingapparatus.

In step S2406, the set values of the attribute information of the deviceobtained in step S2404 are stored and held in, for example, a registryor the like of the system together with the name of the printer driver.The attributes of the device obtained in step S2404 are held in apredetermined storing portion together with the construction of themember printer drivers in accordance with each of the outputting methodsregistered in step S1702.

The device information shown in 1806 in FIG. 18 corresponds to theinformation which has been held in step S2406 and has been displayed forevery relevant member printer.

As mentioned above, since the attribute information of the devicecorresponding to each printer driver is displayed together with thenames of the member printer drivers constructing the group printerdriver, the user can know at a glance which attributes (functions) thedevices corresponding to a plurality of member printer drivers have.With respect to the primary registration and the secondary registrationdescribed in 1806 in FIG. 18, since the attribute informationcorresponding to each member printer driver is displayed by theprocesses shown in the flowchart of FIG. 24, an effect such that theuser can easily decide whether the secondary registration is performedor not from the member printer drivers which have properly beenprimary-registered in accordance with a demand of print.

Other Embodiments

The objects of the invention are also accomplished by a method whereby amemory medium in which program codes of software to realize thefunctions of the embodiments mentioned above have been stored issupplied to a system or an apparatus, and a computer (or a CPU or anMPU) of the system or apparatus reads out the program codes stored inthe memory medium and executes them.

In this case, the program codes themselves read out from the memorymedium realize the functions of the embodiments mentioned above. Thememory medium in which the program codes have been stored constitutes anembodiment of the invention.

As a memory medium for supplying the program codes, for example, afloppy disk, a hard disk, an optical disk, a magnetooptic disk, aCD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, an ROM, orthe like can be used.

The invention incorporates not only a case where a computer executes theread-out program codes, so that the functions of the embodimentsmentioned above are realized, but also a case where an OS (OperatingSystem) or the like which operates on the computer executes a part orall of actual processes on the basis of instructions of the programcodes, and the functions of the embodiments mentioned above are realizedby those processes.

Further, the invention incorporates a case where the program codes readout from the memory medium are written into a memory equipped for afunction expanding board inserted in a computer or a function expandingunit connected to a computer and, thereafter, a CPU or the like equippedfor the function expanding board or function expanding unit executes apart or all of actual processes on the basis of instructions of theprogram codes, and the functions of the embodiments mentioned above arerealized by those processes.

As mentioned above, according to the embodiments, in the printprocessing system for controlling print jobs to a plurality of imageinput/output apparatuses bound to one virtual image input/outputapparatus, the outputting method such as ratio distribution, color/blackand white distribution, multiple address, automatic substitution, or thelike can be switched on the driver for one virtual image input/outputapparatus and the print can be executed. The construction of a pluralityof image input/output apparatuses bound on the driver corresponding toone virtual image input/output apparatus can be changed.

In association with the change in outputting method, the UI control ofthe driver corresponding to one virtual image input/output apparatus andthe UI control of each of the drivers corresponding to a plurality ofimage input/output apparatuses bound to such a driver can be switchedand the data can be outputted.

As described above, according to the invention, upon construction of theprinter drivers of the distribution printing, multiple address print,automatic substitute print, and the like, reconstruction of acombination of the printer drivers can be easily realized.

A construction for enabling the flexible registering process to be moreeasily realized can be provided while providing a mechanism whichenables the flexible registering process upon registration of theprinter driver.

1. A print control apparatus for registering a printer groupcorresponding to a printing feature and controlling a print process inwhich print data is transmitted to one member printer included in theprinter group, said print control apparatus comprising: at least aprocessor and memory, cooperating to function as: a registration unitadapted to register member printers forming a printer groupcorresponding to a printing feature selected from a plurality ofprinting features in response to a user instruction, wherein the memberprinters are selected from a plurality of printers on a network; adisplaying unit adapted to display, after a print instruction isperformed by an application program, a list via a user interface for aprint process, wherein said displaying unit lists the member printersregistered by said registration unit and shows at least one of statusinformation and location information of each of member printers on thelist; a designation unit adapted to designate, as an output targetprinter to be used in a current print process, one of the memberprinters on the list, such that any of the member printers notdesignated by said designation unit is temporarily not used for thecurrent print process; and a transmission unit adapted to transmit printdata formed from data supplied by the application program to the onemember printer designated by said designation unit, wherein saiddisplaying unit displays the list via the user interface such that thedesignated member printer and the member printer not designated by saiddesignation unit are listed for a next print process withoutre-registration by said registration unit.
 2. The apparatus according toclaim 1, wherein the printing features include an automatic substituteprint, and wherein if the automatic substitute print is selected fromthe printing features, said displaying unit displays a setting buttonfor setting a priority via the user interface.
 3. The apparatusaccording to claim 1, wherein the printing features include a ratiodistribution print, and wherein, when the ratio distribution print isselected from the printing features, said displaying unit displays userinterface elements for setting distribution ratios of the ratiodistribution print via the user interface.
 4. The apparatus according toclaim 1, wherein the status information indicates any temporary statusof the member printer and the location information indicates a physicalspace where the member printer is installed.
 5. The apparatus accordingto claim 1, wherein the printing features include at least a featurerelated to a color function of the member printer.
 6. A print controlmethod for registering a printer group corresponding to a printingfeature and controlling a print process in which print data istransmitted to one member printer included in the printer group, saidprint control method comprising: a registration step of registeringmember printers forming a printer group corresponding to a printingfeature selected from a plurality of printing features in response to auser instruction, wherein the member printers are selected from aplurality of printers on a network; a displaying step of displaying,after a print instruction is performed by an application program, a listvia a user interface for a print process, wherein said displaying stepincludes listing the member printers registered in said registrationstep and shows at least one of status information and locationinformation of each of member printers on the list; a designation stepof designating, as an output target printer to be used in a currentprint process, one of the member printers on the list, such that any ofthe member printers not designated in said designation step istemporarily not used for the current print process; and a transmissionstep of transmitting print data formed from data supplied by theapplication program to the one member printer designated in saiddesignation step, wherein said displaying step includes displaying thelist via the user interface such that the designated member printer andthe member printer not designated in said designation step are listedfor a next print process without re-registration in said registrationstep.
 7. The method according to claim 6, wherein the printing featuresinclude an automatic substitute print, and wherein if the automaticsubstitute print is selected from the printing features, said displayingstep includes displaying a setting button for setting a priority via theuser interface.
 8. The method according to claim 6, wherein the printingfeatures include a ratio distribution print, and wherein, when the ratiodistribution print is selected from the printing features, saiddisplaying step includes displaying user interface elements for settingdistribution ratios of the ratio distribution print via the userinterface.
 9. The method according to claim 6, wherein the statusinformation indicates any temporary status of the member printer and thelocation information indicates a physical space where the member printeris installed.
 10. The method according to claim 6, wherein the printingfeatures include at least a feature related to a color function of themember printer.
 11. A non-transitory computer-readable storage mediumstoring, in executable form, a program for causing a computer to executea print control method for registering a printer group corresponding toa printing feature and controlling a print process in which print datais transmitted to one member printer included in the printer group, saidprint control method comprising: a registration step of registeringmember printers forming a printer group corresponding to a printingfeature selected from a plurality of printing features in response to auser instruction, wherein the member printers are selected from aplurality of printers on a network; a displaying step of displaying,after a print instruction is performed by an application program, a listvia a user interface for a print process, wherein said displaying stepincludes listing the member printers registered in said registrationstep and shows at least one of status information and locationinformation of each of member printers on the list; a designation stepof designating, as an output target printer to be used in a currentprint process, one of the member printers on the list, such that any ofthe member printers not designated in said designation step istemporarily not used for the current print process; and a transmissionstep of transmitting print data formed from data supplied by theapplication program to the one member printer designated in saiddesignation step, wherein said displaying step includes displaying thelist via the user interface such that the designated member printer andthe member printer not designated in said designation step are listedfor a next print process without re-registration in said registrationstep.
 12. The storage medium according to claim 11, wherein the printingfeatures include an automatic substitute print, and wherein if theautomatic substitute print is selected from the printing features, saiddisplaying step includes displaying a setting button for setting apriority via the user interface.
 13. The storage medium according toclaim 11, wherein the printing features include a ratio distributionprint, and wherein, when the ratio distribution print is selected fromthe printing features, said displaying step includes displaying userinterface elements for setting distribution ratios of the ratiodistribution print via the user interface.
 14. The storage mediumaccording to claim 11, wherein the status information indicates anytemporary status of the member printer and the location informationindicates a physical space where the member printer is installed. 15.The storage medium according to claim 11, wherein the printing featuresinclude at least a feature related to a color function of the memberprinter.